home *** CD-ROM | disk | FTP | other *** search
/ Cream of the Crop 26 / Cream of the Crop 26.iso / program / inter54e.zip / PCICFG09.ZIP / PCICFG.TXT < prev   
Text File  |  1997-06-28  |  9KB  |  200 lines

  1.        PCICFG - Show configuration space for PCI devices
  2.        =================================================
  3.  
  4.               Version 0.95 (beta)
  5.                Copyright 1997 Ralf Brown
  6.  
  7. PCICFG is a small utility to tell you more than you ever wanted to
  8. know about the PCI devices in your computer.  To install it, you can
  9. simply extract all of the files in the distribution archive into a
  10. directory on your hard disk.  A minimal installation consists of
  11. PCICFG.EXE and PCICFG.DAT; to enable the Verbose option, you will also
  12. need the *.PCI files.
  13.  
  14. There are two ways to run PCICFG:
  15.     PCICFG [flag(s)] bus device function
  16.         PCICFG [flag(s)] *   (to scan all devices)
  17.  
  18. PCI devices have an address which is broken down into a PCI-bus number
  19. (usually 0), a device number within that bus (0-31), and a function
  20. number within the device (0-7).  The majority of devices have only a
  21. single function (0); multi-function devices are those which incorporate
  22. very different functionalities within a single chip, i.e.  a chip which
  23. is both a SCSI and an EIDE controller might present separate function
  24. number for each.  If you use the first form of the commandline, PCICFG
  25. will display information on only the specified device (or function for
  26. a multi-function device).
  27.  
  28. Since you will probably not know the addresses of the devices in your
  29. computer, the second form of the commandline tells PCICFG to scan all
  30. possible PCI addresses for active devices.  You will generally want to
  31. run this with the -t flag (see below) the very first time you use
  32. PCICFG in order to find out which devices are installed.
  33.  
  34. The two optional flags which PCICFG supports are:
  35.         -t      terse -- output only device type and ID
  36.         -v      verbose output for known devices
  37.  
  38. Use -v for more verbose output on devices specifically recognized by
  39. PCICFG (these are described by the *.PCI files, where the first four
  40. characters of the filename are the vendor ID and the next four the
  41. device ID).  Output is generally quite lengthy even without -v, so you
  42. should redirect output into a file or pipe it to MORE or LIST.
  43.  
  44.                 Examples
  45.                 ========
  46.  
  47. Example 1: PCICFG -t *
  48.  
  49. PCICFG v0.95 (c) Copyright 1997 Ralf Brown
  50. PCI bus 00 device 00 function 00:  Header Type 'non-bridge' (single-func)
  51. Vendor: 8086    Intel Corporation
  52. Device: 04A3    82434LX/NX  (Mercury/Neptune)
  53. Class:    06    bridge                  Revision:       10
  54. SubClass: 00    CPU/PCI                 ProgramI/F:     00
  55. -----------------------------------------------------------
  56. PCI bus 00 device 01 function 00:  Header Type 'non-bridge' (single-func)
  57. Vendor: 1042    PC Technology
  58. Device: 1000    RZ1000
  59. Class:    01    disk                    Revision:       01
  60. SubClass: 01    IDE                     ProgramI/F:     00
  61. -----------------------------------------------------------
  62. PCI bus 00 device 02 function 00:  Header Type 'non-bridge' (single-func)
  63. Vendor: 8086    Intel Corporation
  64. Device: 0484    82378/82379 SIO  ISA Bridge
  65. Class:    00    reserved                Revision:       03
  66. SubClass: 00    ???                     ProgramI/F:     00
  67. -----------------------------------------------------------
  68. PCI bus 00 device 06 function 00:  Header Type 'non-bridge' (single-func)
  69. Vendor: 5333    S3
  70. Device: 8811    S3 Trio64/64V+
  71. Class:    03    display                 Revision:       53
  72. SubClass: 00    VGA                     ProgramI/F:     00
  73. -----------------------------------------------------------
  74. PCI bus 00 device 0E function 00:  Header Type 'non-bridge' (single-func)
  75. Vendor: 5333    S3
  76. Device: 8811    S3 Trio64/64V+
  77. Class:    03    display                 Revision:       43
  78. SubClass: 00    VGA                     ProgramI/F:     00
  79.  
  80.  
  81. Example 2: PCICFG 0 14 0
  82.  
  83. PCICFG v0.95 (c) Copyright 1997 Ralf Brown
  84. PCI bus 00 device 0E function 00:  Header Type 'non-bridge' (single-func)
  85. Vendor: 5333    S3
  86. Device: 8811    S3 Trio64/64V+
  87. Class:    03    display                 Revision:       43
  88. SubClass: 00    VGA                     ProgramI/F:     00
  89. CommandReg:      0023 = I/O-on mem-on VGAsnoop
  90. Status Reg:      0200 = (med)
  91. CacheLine:         00   Latency:        00      BIST:        00
  92. SubsysVendor:    0000   SubsysDevice: 0000
  93. Base Addresses:
  94.         (0) A0000000 = mem base=A0000000 len=64M
  95. CardBus:   00000000     ExpansionROM: FE000000 (64K,disabled)
  96. INTline:         09     INTpin:  01
  97. MinGrant:        00     MaxLatency:      00
  98. Device-Specific Data:
  99.  40: 00000000  00000000  00000000  00000000  00000000  00000000
  100.  58: 00000000  00000000  00000000  00000000  00000000  00000000
  101.  70: 00000000  00000000  00000000  00000000  00000000  00000000
  102.  88: 00000000  00000000  00000000  00000000  00000000  00000000
  103.  A0: 00000000  00000000  00000000  00000000  00000000  00000000
  104.  B8: 00000000  00000000  00000000  00000000  00000000  00000000
  105.  D0: 00000000  00000000  00000000  00000000  00000000  00000000
  106.  E8: 00000000  00000000  00000000  00000000  00000000  00000000
  107.  
  108.  
  109. Example 3: PCICFG -v 0 0 0
  110.  
  111. PCICFG v0.95 (c) Copyright 1997 Ralf Brown
  112. PCI bus 00 device 00 function 00:  Header Type 'non-bridge' (single-func)
  113. Vendor: 8086    Intel Corporation
  114. Device: 04A3    82434LX/NX  (Mercury/Neptune)
  115. Class:    06    bridge                  Revision:       10
  116. SubClass: 00    CPU/PCI                 ProgramI/F:     00
  117. CommandReg:      0146 = mem-on busmstr parity-err sys-err
  118. Status Reg:      2400 = mst-abort (slow)
  119. CacheLine:         00   Latency:        40      BIST:        00
  120. SubsysVendor:    0000   SubsysDevice: 0000
  121. No base addresses
  122. CardBus:   00000000     ExpansionROM: 00000000 (no ROM)
  123. INTline:         00     INTpin:  00
  124. MinGrant:        00     MaxLatency:      00
  125. Device-Specific Data:
  126.  40: 00000000  00000000  00000000  00000000  039B40A6  25000006
  127.  58: 50555701  00555555  20181008  20202020  00000000  00000000
  128.  70: 00000003  00000000  00000000  A000220F  00000000  00000000
  129.  88: 00000000  00000000  00000000  00000000  00000000  00000000
  130.  A0: 00000000  00000000  00000000  00000000  00000000  00000000
  131.  B8: 00000000  00000000  00000000  00000000  00000000  00000000
  132.  D0: 00000000  00000000  00000000  00000000  00000000  00000000
  133.  E8: 00000000  00000000  00000000  00000000  00000000  00000000
  134. 82434NX (Neptune) registers in detail:
  135.  L2 cache control: A6  (enabled)
  136.  Deturbo control:  40
  137.  CPU Control:      03
  138.                CPU-PCI posted writes enabled, CPU-memory posted writes enabled
  139.  PCI Control:      06
  140.                PCI-memory posted writes disabled, PCI burst enabled
  141.  DRAM Control:     25
  142.  DRAM Timing:      01
  143.  DRAM Boundaries:   8M  16M  24M  32M  32M  32M  32M  32M
  144.  DRAM Row Type:    ---  ---  ---  ---  ---  ---  ---  ---
  145.  Memory Size:      32M
  146.  Programmable Attribute Map
  147.         C000-C3FF: C-R  D000-D3FF: C-R  E000-E3FF: C-R  F000-FFFF: C-R
  148.         C400-C7FF: C-R  D400-D7FF: C-R  E400-E7FF: C-R
  149.         C800-CBFF: ---  D800-DBFF: C-R  E800-EBFF: ---
  150.         CC00-CFFF: C-R  DC00-DFFF: C-R  EC00-EFFF: ---  8000-9FFF: CWR
  151.  SMRAM control:    SMM Space at segment 8000 is ---- ------ ------
  152.  ISA memory hole:  at 0M, size 1M (disabled)
  153.  Byte Merging:     Y
  154.  
  155.  
  156.                Writing your own .PCI file
  157.                ==========================
  158.  
  159. All of the information used by PCICFG.EXE is in plain-text format,
  160. which means you can update it for your system if you have devices
  161. which are not yet recognized (and if you send me your updates, I'll
  162. put them in the next release along with your name).
  163.  
  164.  
  165. PCICFG.DAT
  166. ----------
  167.  
  168. This file lists the vendor and device IDs by which a device is
  169. identified.  Its format is very simple: for each vendor ID, there
  170. is a line giving the vendor ID number and the associated vendor
  171. name, optionally followed by one or more lines listing the device
  172. IDs used by that vendor.  Both vendor and device IDs consist of
  173. four hexadecimal digits; a sample fragment of the PCICFG.DAT file
  174. is
  175.  
  176.     Vendor 1003 ULSI
  177.       0201 US201 Graphics Controller
  178.     Vendor 1004 VLSI Technologies
  179.       0005 VL82C591 CPU Bridge
  180.  
  181. Which indicates that vendor 0x1003 is ULSI, and that it uses device
  182. ID 0x0201 for its US201.
  183.  
  184. *.PCI
  185. -----
  186.  
  187. These files give a more detailed breakdown of a device's configuration
  188. data.  The filename indicates the device for which it is a description.
  189.  
  190. The main content of a .PCI file is a set of lines with embedded
  191. printf-style conversion specifiers, which list addresses in the
  192. device's PCI configuration space and how to turn the values stored
  193. there into numbers or text.  The included BLANK.PCI can be used as a
  194. template for your own .PCI files, and contains more details on the
  195. conversion specifiers.
  196.  
  197.  
  198.  
  199.                   End of File
  200.